﻿var ns = namespace("kaskelot.sp.ui");

ns.defaults = function () {

    function init() {

        $.extend($.ui.dialog.prototype.options, {
            modal: true,
            resizable: false,
            closeable: false,
            hide: 'fade',
            show: 'fade'
        });

        $("form").validate({
            onsubmit: false
        });

        $.extend($.validator.messages, {
            required: "Fältet är obligatoriskt"
        });

        //$.validator.addClassRules("max5", {
        //    maxlength: 5
        //});

        //$.validator.addMethod("greaterThan",
        //    function (value, element, params) {
        //        var target = $(params).val();
        //        var isValueNumeric = !isNaN(parseFloat(value)) && isFinite(value);
        //        var isTargetNumeric = !isNaN(parseFloat(target)) && isFinite(target);
        //        if (isValueNumeric && isTargetNumeric) {
        //            return Number(value) > Number(target);
        //        }

        //        if (!/Invalid|NaN/.test(new Date(value))) {
        //            return new Date(value) > new Date(target);
        //        }

        //        return false;
        //    }
        //, "Måste vara efter startdatum.");

        //$.validator.addClassRules("greater-than-start-date", {
        //    greaterThan: "#StartDate"
        //});

        //$.validator.addMethod("decimalSpaces",
        //    function (value, element, params) {
        //        var target = $(params).val();
        //        value = value.replace(/\s/g, '');
        //        return (!isNaN(parseFloat(value)) && isFinite(value));
        //    }
        //, "Måste vara ett tal.");

        //$.validator.addClassRules("number-decimal-spaces", {
        //    decimalSpaces: ".number-decimal-spaces"
        //});

        //var settings = $.data($("form")[0], 'validator').settings;
        //settings.errorPlacement = function (error, element) {
        //    if (element.hasClass("monthpicker"))
        //        error.insertAfter(element.next());
        //    else if (element.hasClass("tree-picker-value"))
        //        error.insertAfter(element.next().next());
        //    else
        //        error.insertAfter(element);
        //};

        //$.datepicker.setDefaults({
        //    firstDay: 1,
        //    changeYear: true,
        //    yearRange: "-5:+20",
        //    dateFormat: 'yy-mm-dd',
        //    onClose: function () {
        //        $(this).valid();
        //    },
        //    onSelect: function () {
        //    }
        //});

        $(document).resize(function () {
            $(".ui-widget-overlay").css('height', $(document).height());
        });

        $.ajaxSetup({
            processData: false,
            contentType: "application/json",
            dataType: "json",
            cache: false
        });

        $.blockUI.defaults.message = '<h1>Vänligen vänta...</h1>';

        //$.views.helpers({
        //    isOpen: function (val) {
        //        return precio.ngo.listings.cases.isOpen(val);
        //    },
        //    isAreaOpen: function (val) {
        //        return precio.ngo.listings.myareas.isAreaOpen(val);
        //    },
        //    isFavorite: function (fav) {
        //        return (fav === "favorite-tagged");
        //    },
        //    isKey: function (key) {
        //        return (key === "key-tagged");
        //    },
        //    isReadEmbargoed: function (emb, perm) {
        //        return (emb === "embargoed" && (perm === "permissions-folder-read" || perm === "permission-doc-read"));
        //    },
        //    isEmbargoed: function (emb, perm) {
        //        return (emb === "embargoed" && (perm === "permissions-folder-edit" || perm === "permissions-folder-full" || perm === "permission-doc-full" || perm === "permission-doc-full-publish" || perm === "permission-doc-edit" || perm === "permissions-folder-create" || perm === "permission-folder-delete"));
        //    }
        //});
    }

    //function browseItemsPerPage() {
    //    return 20;
    //}

    return {
        init: init
    };

}();

$(function () {
    kaskelot.sp.ui.defaults.init();
});